Magnetic disk drives are conventionally designed to store large volumes of data on a plurality of disks mounted on a spindle assembly. Typically, each disk includes two disk surfaces capable of storing data. On each disk surface, user data is divided into groups of physical data sectors and stored in concentric circular tracks located between an outside diameter and an inside diameter of the disk. Embedded servo information is recorded in servo sectors located in radially continuous narrow wedges along the disk surface.
Recently, many disk drive manufacturers have begun to increase the size of the individual physical sectors defined on the disk surfaces. For example, whereas in the past physical sectors each contained 512 bytes of user data, many disk drives now include 1 kilobyte, 2 kilobyte or 4 kilobyte physical sectors. These larger physical sectors have enabled improvements in disk drive capacity, performance, data integrity and manufacturing yield.
Unfortunately, legacy operating systems, BIOSes, host adapters and other host computer components are often not configured to take advantage of these larger physical sectors. In order to ensure backward compatibility, many newer disk drives must operate in an “emulation” mode, wherein a logical sector size exposed via a disk drive host interface to a host computer differs from the larger physical sector size used to store user data on the disk surface. For example, a disk drive may use a physical sector size of 4 kilobytes on its disk surfaces, while exchanging 512 byte logical sectors with a host computer.
Although such emulation has allowed newer disk drives to function properly with older host computers, the performance of these disk drives is often adversely impacted by the emulation. In particular, many newer disk drives operate in emulation mode using a “read-modify-write” schema. That is, when the disk drive receives a write command associated with a logical sector from the host computer, the disk drive reads a physical data block stored at a target physical sector, modifies a portion of the physical data block based upon the received user data, and finally writes the modified physical data block to the media. This extra read operation for each write command can significantly impact disk drive performance.
There is therefore a need in the art for an improved emulation schema for disk drives using physical sectors that are sized differently than logical sectors.